package cn.iocoder.yudao.module.engine.controller.app.timepackage.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "用户 APP - 时长套餐新增/修改 Request VO")
@Data
public class AppTimePackageSaveReqVO {

    @Schema(description = "套餐id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2067")
    private String id;

    @Schema(description = "套餐名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "套餐名称不能为空")
    private String packageName;

    @Schema(description = "时长(毫秒)", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "时长(毫秒)不能为空")
    private Long timeMs;

    @Schema(description = "原价（分）", example = "16426")
    private Integer originalPrice;

    @Schema(description = "现价（分）", requiredMode = Schema.RequiredMode.REQUIRED, example = "7882")
    @NotNull(message = "现价（分）不能为空")
    private Integer currentPrice;

    @Schema(description = "上下架状态：0-下架，1-上架", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "上下架状态：0-下架，1-上架不能为空")
    private Integer listingStatus;

    @Schema(description = "扩展")
    private String extension;

}